/*
 * Powered By fanrenqij.com
 * Since 2017 - 2017
 */

package com.fanrenqiji.modules.business.eventcase.service;

import com.fanrenqiji.modules.business.eventcase.vo.EventCaseVO;
import com.fanrenqiji.common.persistence.Page;

import java.util.List;
/**
 * 课程事件实例表业务逻辑接口
 */
public interface EventCaseService {
/**
 * 插入
 *
 * @param eventCase
 *            插入的对象
 * @return 插入数据
 */
public EventCaseVO insert(EventCaseVO eventCase);


/**
 * 批量插入
 *
 * @param list
 *            数据列表
 * @return 插入数据条数
 */
public void insertList(List<EventCaseVO> list);


/**
 * 修改
 *
 * @param eventCase
 *            修改的数据
 * @return 修改的数据条数
 */
public EventCaseVO update(EventCaseVO eventCase);


/**
 * 删除
 *
 * @param id
 *            数据标识
 * @return 删除的数据条数
 */
public void delete(String id);


/**
 * 查询所有数据
 *
 * @return 数据列表
 */
public List<EventCaseVO> getAll();


/**
 * 通过条件查询数据列表
 *
 * @param eventCase
 *            查询条件
 * @return 数据列表
 */
public List<EventCaseVO> getList(EventCaseVO eventCase);


/**
 * 通过id查询数据
 *
 * @param id
 *            数据标识
 * @return 数据对象
 */
public EventCaseVO get(String id);


/**
 * 根据条件分页查询
 * @param page
 * @param eventCase
 * @return
 */
public Page<EventCaseVO> findEventCaseByPage(Page<EventCaseVO> page, EventCaseVO eventCase);

    /**
     * 对上传的事件进行保存
     * @param courseid
     * @param eventid
     */
public void saveevent(String courseid, String eventid);


    /**
     * 删除已经上传的事件
     * @param courseid
     * @param eventcaseid
     */
    public  void removeeventcase(String courseid, String eventcaseid);

    /**
     * 对事件实例 问题进行修改或者添加
     * @param courseid
     * @param eventcaseid
     * @param questionid
     */
    public void addquestion(String courseid, String eventcaseid, String questionid);

    /**
     * 对事件实例的时间进行修改
     * @param id
     * @param shijian
     */
    public void updatacourseitemevent(String id, String shijian);

    /**
     * 课程组里面添加事件的方法
     * @param coursegroupid
     * @param eventid
     */
    public void coursegroupandevent(String coursegroupid, String eventid);

    /**
     * 课程组里面移除事件实例的方法
     * @param coursegroupid
     * @param eventcaseid
     */
    public void removeeventcase2(String coursegroupid, String eventcaseid);
    /**
     * 根据事件实例中间表的id来查询当前的笑话
     * @param id
     * @return
     */

    /**
     * 根据事件实例中间表的id 来查询故事并返回
     * @param id
     * @return
     */

    /**
     * 根据事件实例中间表的id 来进行查询事件实例并返回
     * @param id
     * @return
     */
    public EventCaseVO selectByCourseItemEventId(String id);
}
